package com.fqcar.fqdf.ui;

import android.graphics.Color;
import android.os.Bundle;

import com.baidu.mapapi.map.CircleOptions;
import com.baidu.mapapi.map.Overlay;
import com.baidu.mapapi.map.OverlayOptions;
import com.baidu.mapapi.map.PolygonOptions;
import com.baidu.mapapi.map.Stroke;
import com.baidu.mapapi.map.TextOptions;
import com.baidu.mapapi.model.LatLng;

import java.util.List;

public class MapOverlayActivity extends MapLocationActivity {

    public final int DEFAULT_STROKE_WIDTH = 4;
    private Stroke DEFAULT_STROKE = new Stroke(DEFAULT_STROKE_WIDTH, Color.BLUE);


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    protected Overlay addTextOverlay(LatLng latLng, String textContent, int textColorRes, int textSize) {
        return addTextOverlay(latLng, textContent, textColorRes, textSize, 0);
    }

    /**
     * 文字类的overlay绘制
     * @param latLng 文字位置
     * @param textContent 文字内容
     * @param textColorRes 文字颜色
     * @param textSize 文字大小
     * @param rotate 旋转角度
     * @return
     */
    protected Overlay addTextOverlay(LatLng latLng, String textContent, int textColorRes, int textSize, int rotate) {
        OverlayOptions textOptions = new TextOptions().text(textContent).fontColor(textColorRes)
                .position(latLng).rotate(rotate).fontSize(textSize).align(TextOptions.ALIGN_CENTER_HORIZONTAL, TextOptions.ALIGN_CENTER_VERTICAL);

        return getBaiduMap().addOverlay(textOptions);
    }


    /**
     * 多边形电子围栏绘制
     *
     * @param dataList     多边形点坐标
     * @param fillColorRes 填充色
     * @param stroke       边缘线颜色和宽度
     * @return
     */
    protected Overlay addPloyOverlay(List<LatLng> dataList, int fillColorRes, Stroke stroke) {

        OverlayOptions ployOption = new PolygonOptions().fillColor(fillColorRes)
                .stroke(stroke == null ? DEFAULT_STROKE : stroke)
                .points(dataList);
        return getBaiduMap().addOverlay(ployOption);
    }

    /**
     * 绘制圆形电子围栏
     *
     * @param latLng       圆形中心点
     * @param fillColorRes 电子围栏填充颜色资源
     * @param radius       半径长度 M 米 单位
     * @param stroke       边缘线颜色和宽度
     * @return
     */
    protected Overlay addCircleOverlay(LatLng latLng, int fillColorRes, int radius, Stroke stroke) {
        OverlayOptions circleOptions = new CircleOptions().center(latLng).fillColor(fillColorRes)
                .radius(radius).stroke(stroke == null ? DEFAULT_STROKE : stroke);
        return getBaiduMap().addOverlay(circleOptions);
    }

}
